package fr.adfm.dto;

import java.io.Serializable;

public abstract class ArticleDto implements Serializable {
	private static final long serialVersionUID = 1L;
	
	protected Long id;
	protected int quantiteStockInitiale;
	protected int quantiteStockDisponible;
	protected ProduitDto produitDto;
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public int getQuantiteStockInitiale() {
		return quantiteStockInitiale;
	}
	public void setQuantiteStockInitiale(int quantiteStockInitiale) {
		this.quantiteStockInitiale = quantiteStockInitiale;
	}
	public int getQuantiteStockDisponible() {
		return quantiteStockDisponible;
	}
	public void setQuantiteStockDisponible(int quantiteStockDisponible) {
		this.quantiteStockDisponible = quantiteStockDisponible;
	}
	
	public ProduitDto getProduitDto() {
		return produitDto;
	}

	public void setProduitDto(ProduitDto produitDto) {
		this.produitDto = produitDto;
	}
	
	@Override
	public String toString() {
		return "Article id=" + id + " " + produitDto.getDescription() + " quantiteStockInitiale="
				+ quantiteStockInitiale + ",quantiteStockDisponible="
				+ quantiteStockDisponible;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((produitDto == null) ? 0 : produitDto.hashCode());
		return result;
	}
	
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ArticleDto other = (ArticleDto) obj;
		if (produitDto == null) {
			if (other.produitDto != null)
				return false;
		} else if (!produitDto.equals(other.produitDto))
			return false;
		return true;
	}
	

	
}